<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head>
  <title>[untitled]</title>
  <link rel="stylesheet" type="text/css" href="../../t/vim_syntax.css" />
 </head>
 <body>

<pre><span class="synInclude">use</span> <span class="synSpecial">v6</span><span class="synOperator">;</span>

is <span class="synNumber">4</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rcmp 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rcmp 5 is the same type as 5 cmp 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4.3</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3 Rcmp 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4.3</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3 Rcmp 5 is the same type as 5 cmp 4.3</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4.3</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3 Rcmp 5.Num</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4.3</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span><span class="synOperator">,</span> (<span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3 Rcmp 5.Num is the same type as 5.Num cmp 4.3</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4.3i</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3i</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3i Rcmp 5.Num</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4.3i</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span><span class="synOperator">,</span> (<span class="synNumber">5</span><span class="synOperator">.</span><span class="synType">Num</span> <span class="synOperator">cmp</span> <span class="synNumber">4.3i</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4.3i Rcmp 5.Num is the same type as 5.Num cmp 4.3i</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>

is <span class="synNumber">4</span> <span class="synOperator">R+</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">+</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R+ 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R+</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">+</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R+ 5 is the same type as 5 + 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R-</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">-</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R- 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R-</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">-</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R- 5 is the same type as 5 - 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R*</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">*</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R* 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R*</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">*</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R* 5 is the same type as 5 * 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R/</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">/</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R/ 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R/</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">/</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R/ 5 is the same type as 5 / 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">Rdiv</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">div</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rdiv 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">Rdiv</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">div</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rdiv 5 is the same type as 5 div 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R%</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">%</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R% 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R%</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">%</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R% 5 is the same type as 5 % 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R**</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">**</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R** 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R**</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">**</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R** 5 is the same type as 5 ** 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>

is <span class="synNumber">4</span> <span class="synOperator">R&lt;</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">&lt;</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R&lt; 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R&lt;</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">&lt;</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R&lt; 5 is the same type as 5 &lt; 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R&gt;</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">&gt;</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R&gt; 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R&gt;</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">&gt;</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R&gt; 5 is the same type as 5 &gt; 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R==</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">==</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R== 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">R==</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">==</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 R== 5 is the same type as 5 == 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rcmp 5</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
isa_ok <span class="synNumber">4</span> <span class="synOperator">Rcmp</span> <span class="synNumber">5</span><span class="synOperator">,</span> (<span class="synNumber">5</span> <span class="synOperator">cmp</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>WHAT<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">4 Rcmp 5 is the same type as 5 cmp 4</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>

is <span class="synNumber">3</span> <span class="synOperator">R/</span> <span class="synNumber">9</span> <span class="synOperator">+</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">8</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">R/ gets precedence of /</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
is <span class="synNumber">4</span> <span class="synOperator">R-</span> <span class="synNumber">5</span> <span class="synOperator">R/</span> <span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">-2</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">Rop gets the precedence of op</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
is (<span class="synNumber">9</span> <span class="synOperator">R...</span> <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">,</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">7</span><span class="synOperator">,</span> <span class="synNumber">9</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">Rop gets list_infix precedence correctly</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>


{
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»+«</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">6</span><span class="synOperator">,</span> <span class="synNumber">9</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-sum two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»-«</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">-1</span><span class="synOperator">,</span> <span class="synNumber">-2</span><span class="synOperator">,</span> <span class="synNumber">-3</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-subtract two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»*«</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">8</span><span class="synOperator">,</span> <span class="synNumber">18</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-multiply two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»x«</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synDelimiter">'</span><span class="synString">111</span><span class="synDelimiter">'</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">22</span><span class="synDelimiter">'</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">3</span><span class="synDelimiter">'</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-x two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»xx«</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> ((<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">1</span>)<span class="synOperator">,</span> (<span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">2</span>)<span class="synOperator">,</span> (<span class="synNumber">3</span>))<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-xx two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">40</span><span class="synOperator">,</span> <span class="synNumber">60</span>) <span class="synOperator">»div«</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">10</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">8</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-divide two arrays</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">»+«</span> (<span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">30</span>) <span class="synOperator">»*«</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">21</span><span class="synOperator">,</span> <span class="synNumber">62</span><span class="synOperator">,</span> <span class="synNumber">123</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">precedence - »+« vs »*«</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

{
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;+&lt;&lt;</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">6</span><span class="synOperator">,</span> <span class="synNumber">9</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-sum two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;-&lt;&lt;</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">-1</span><span class="synOperator">,</span> <span class="synNumber">-2</span><span class="synOperator">,</span> <span class="synNumber">-3</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-subtract two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;*&lt;&lt;</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">8</span><span class="synOperator">,</span> <span class="synNumber">18</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-multiply two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;x&lt;&lt;</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synDelimiter">'</span><span class="synString">111</span><span class="synDelimiter">'</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">22</span><span class="synDelimiter">'</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">3</span><span class="synDelimiter">'</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-x two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;xx&lt;&lt;</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> ((<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">1</span>)<span class="synOperator">,</span> (<span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">2</span>)<span class="synOperator">,</span> (<span class="synNumber">3</span>))<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-xx two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">40</span><span class="synOperator">,</span> <span class="synNumber">60</span>) <span class="synOperator">&gt;&gt;div&lt;&lt;</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">10</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">8</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper-divide two arrays ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;+&lt;&lt;</span> (<span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">30</span>) <span class="synOperator">&gt;&gt;*&lt;&lt;</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">21</span><span class="synOperator">,</span> <span class="synNumber">62</span><span class="synOperator">,</span> <span class="synNumber">123</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">precedence - &gt;&gt;+&lt;&lt; vs &gt;&gt;*&lt;&lt; ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}<span class="synOperator">;</span>

{ <span class="synComment"># unary postfix</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@r</span><span class="synOperator">»++;</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper auto increment an array</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@r</span><span class="synOperator">&gt;&gt;++;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper auto increment an array ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}<span class="synOperator">;</span>

{ <span class="synComment"># unary prefix</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@r</span><span class="synOperator">;</span>
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> <span class="synOperator">-«</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">-3</span><span class="synOperator">,</span> <span class="synNumber">-2</span><span class="synOperator">,</span> <span class="synNumber">-1</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper op on assignment/pipeline</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> <span class="synOperator">-&lt;&lt;</span> (<span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">-3</span><span class="synOperator">,</span> <span class="synNumber">-2</span><span class="synOperator">,</span> <span class="synNumber">-1</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">hyper op on assignment/pipeline ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}<span class="synOperator">;</span>

{ <span class="synComment"># dimension upgrade - ASCII</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@r</span><span class="synOperator">;</span>
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>) <span class="synOperator">&gt;&gt;+&gt;&gt;</span> <span class="synNumber">1</span><span class="synOperator">;</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">auto dimension upgrade on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> <span class="synNumber">2</span> <span class="synOperator">&lt;&lt;*&lt;&lt;</span> (<span class="synNumber">10</span><span class="synOperator">,</span> <span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">30</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">20</span><span class="synOperator">,</span> <span class="synNumber">40</span><span class="synOperator">,</span> <span class="synNumber">60</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">auto dimension upgrade on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

{ <span class="synComment"># extension</span>
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">&gt;&gt;~&gt;&gt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D E</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element truncate on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span><span class="synOperator">,</span><span class="synNumber">5</span>) <span class="synOperator">&lt;&lt;~&lt;&lt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element truncate on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">&gt;&gt;~&gt;&gt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span>) <span class="synOperator">&lt;&lt;~&lt;&lt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">&gt;&gt;~&gt;&gt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3A 4B</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span>) <span class="synOperator">&lt;&lt;~&lt;&lt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 1C 2D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">&gt;&gt;~&gt;&gt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2A 3A 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span>) <span class="synOperator">&lt;&lt;~&lt;&lt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 1B 1C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">&gt;&gt;~&gt;&gt;</span> <span class="synDelimiter">'</span><span class="synString">A</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2A 3A 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">scalar element extension on rhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> <span class="synNumber">1</span> <span class="synOperator">&lt;&lt;~&lt;&lt;</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 1B 1C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">scalar element extension on lhs ASCII notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}<span class="synOperator">;</span>

{ <span class="synComment"># dimension upgrade - unicode</span>
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">»~»</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D E</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element truncate on rhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span><span class="synOperator">,</span><span class="synNumber">5</span>) <span class="synOperator">«~«</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element truncate on lhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">»~»</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span>) <span class="synOperator">«~«</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">»~»</span> <span class="synDelimiter">&lt;</span><span class="synString">A B</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 3A 4B</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span>) <span class="synOperator">«~«</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span>  <span class="synDelimiter">&lt;</span><span class="synString">1A 2B 1C 2D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">»~»</span> <span class="synDelimiter">&lt;</span><span class="synString">A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2A 3A 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on rhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span>) <span class="synOperator">«~«</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 1B 1C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">list-level element extension on lhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span><span class="synOperator">,</span><span class="synNumber">4</span>) <span class="synOperator">»~»</span> <span class="synDelimiter">'</span><span class="synString">A</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 2A 3A 4A</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">scalar element extension on rhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> <span class="synNumber">1</span> <span class="synOperator">«~«</span> <span class="synDelimiter">&lt;</span><span class="synString">A B C D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">1A 1B 1C 1D</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">scalar element extension on lhs unicode notation</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}<span class="synOperator">;</span>

{ <span class="synComment"># unary postfix with integers</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@r</span><span class="synOperator">;</span>
    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>)<span class="synOperator">».</span>sqrt<span class="synOperator">;</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">method call on integer list elements</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    <span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>)<span class="synOperator">&gt;&gt;.</span>sqrt<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">method call on integer list elements (ASCII)</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

{
    <span class="synSpecial">my</span> (<span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synIdentifier">@e</span>)<span class="synOperator">;</span>
    (<span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>))<span class="synOperator">»++;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">10</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">operator call on integer list elements</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    (<span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>))<span class="synOperator">.»++;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">operator call on integer list elements (Same thing, dot form)</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

<span class="synComment"># RT #122342</span>
{
    <span class="synSpecial">my</span> (<span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synIdentifier">@e</span>)<span class="synOperator">;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">10</span>)<span class="synOperator">;</span>

    (<span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>))<span class="synOperator">.».++;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">postfix operator (dotted form) on integer list elements after unary postfix hyper operator</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    (<span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>))<span class="synOperator">.&gt;&gt;.++;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">postfix operator (dotted form) on integer list elements after unary postfix hyper operator (ASCII)</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

    (<span class="synIdentifier">@r</span> <span class="synOperator">=</span> (<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">9</span>))<span class="synOperator">\</span>  <span class="synOperator">.»\</span>  <span class="synOperator">.++;</span>
    <span class="synIdentifier">@e</span> <span class="synOperator">=</span> (<span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">10</span>)<span class="synOperator">;</span>
    is(<span class="synOperator">~</span><span class="synIdentifier">@r</span><span class="synOperator">,</span> <span class="synOperator">~</span><span class="synIdentifier">@e</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">postfix operator (dotted form) on integer list elements after unary postfix hyper operator (unspace form)</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

{
  <span class="synSpecial">my</span> <span class="synIdentifier">@array</span> <span class="synOperator">=</span> <span class="synDelimiter">&lt;</span><span class="synString">5 -3 7 0 1 -9</span><span class="synDelimiter">&gt;</span><span class="synOperator">;</span>
  <span class="synSpecial">my</span> <span class="synIdentifier">$sum</span>   <span class="synOperator">=</span> <span class="synNumber">5</span> <span class="synOperator">+</span> <span class="synNumber">-3</span> <span class="synOperator">+</span> <span class="synNumber">7</span> <span class="synOperator">+</span> <span class="synNumber">0</span> <span class="synOperator">+</span> <span class="synNumber">1</span> <span class="synOperator">+</span> <span class="synNumber">-9</span><span class="synOperator">;</span> <span class="synComment"># laziness :)</span>

  is((<span class="synOperator">[+]</span> <span class="synIdentifier">@array</span>)<span class="synOperator">,</span>      <span class="synIdentifier">$sum</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[+] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[*]</span>  <span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span>)<span class="synOperator">,</span>    (<span class="synNumber">1</span><span class="synOperator">*</span><span class="synNumber">2</span><span class="synOperator">*</span><span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[*] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[-]</span>  <span class="synNumber">1</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span>)<span class="synOperator">,</span>    (<span class="synNumber">1</span><span class="synOperator">-</span><span class="synNumber">2</span><span class="synOperator">-</span><span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[-] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[/]</span>  <span class="synNumber">12</span><span class="synOperator">,</span><span class="synNumber">4</span><span class="synOperator">,</span><span class="synNumber">3</span>)<span class="synOperator">,</span>  (<span class="synNumber">12</span><span class="synOperator">/</span><span class="synNumber">4</span><span class="synOperator">/</span><span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[/] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[div]</span>  <span class="synNumber">12</span><span class="synOperator">,</span><span class="synNumber">4</span><span class="synOperator">,</span><span class="synNumber">3</span>)<span class="synOperator">,</span>  (<span class="synNumber">12</span> <span class="synOperator">div</span> <span class="synNumber">4</span> <span class="synOperator">div</span> <span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[div] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[**]</span> <span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">2</span><span class="synOperator">,</span><span class="synNumber">3</span>)<span class="synOperator">,</span>  (<span class="synNumber">2</span><span class="synOperator">**</span><span class="synNumber">2</span><span class="synOperator">**</span><span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[**] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[%]</span>  <span class="synNumber">13</span><span class="synOperator">,</span><span class="synNumber">7</span><span class="synOperator">,</span><span class="synNumber">4</span>)<span class="synOperator">,</span> (<span class="synNumber">13</span><span class="synOperator">%</span><span class="synNumber">7</span><span class="synOperator">%</span><span class="synNumber">4</span>)<span class="synOperator">,</span>  <span class="synDelimiter">&quot;</span><span class="synString">[%] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">[mod]</span>  <span class="synNumber">13</span><span class="synOperator">,</span><span class="synNumber">7</span><span class="synOperator">,</span><span class="synNumber">4</span>)<span class="synOperator">,</span> (<span class="synNumber">13</span> <span class="synOperator">mod</span> <span class="synNumber">7</span> <span class="synOperator">mod</span> <span class="synNumber">4</span>)<span class="synOperator">,</span>  <span class="synDelimiter">&quot;</span><span class="synString">[mod] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>

  is((<span class="synOperator">~</span> <span class="synOperator">[\+]</span> <span class="synIdentifier">@array</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">5 2 9 9 10 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">+] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
  is((<span class="synOperator">~</span> <span class="synOperator">[\-]</span> <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">1 -1 -4</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>      <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">-] works</span><span class="synDelimiter">&quot;</span>)<span class="synOperator">;</span>
}

{
  is (<span class="synOperator">[~]</span> <span class="synDelimiter">&lt;</span><span class="synString">a b c d</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">abcd</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[~] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
  is (<span class="synOperator">~</span> <span class="synOperator">[\~]</span> <span class="synDelimiter">&lt;</span><span class="synString">a b c d</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">a ab abc abcd</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">~] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
}

{
    ok  (<span class="synOperator">[&lt;]</span>  <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[&lt;] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[&lt;]</span>  <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[&lt;] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    ok  (<span class="synOperator">[&gt;]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[&gt;] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[&gt;]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[&gt;] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    ok  (<span class="synOperator">[==]</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">,</span>    <span class="synDelimiter">&quot;</span><span class="synString">[==] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[==]</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">,</span>    <span class="synDelimiter">&quot;</span><span class="synString">[==] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    <span class="synComment">#?niecza 2 skip 'this is parsed as ![=], not good'</span>
    ok  (<span class="synOperator">[!=]</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">,</span>    <span class="synDelimiter">&quot;</span><span class="synString">[!=] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[!=]</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">,</span>    <span class="synDelimiter">&quot;</span><span class="synString">[!=] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
}

{
    ok (<span class="synOperator">!</span> <span class="synOperator">[eq]</span> <span class="synDelimiter">&lt;</span><span class="synString">a a b a</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[eq] basic sanity (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (  <span class="synOperator">[eq]</span> <span class="synDelimiter">&lt;</span><span class="synString">a a a a</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[eq] basic sanity (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (  <span class="synOperator">[ne]</span> <span class="synDelimiter">&lt;</span><span class="synString">a b c a</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[ne] basic sanity (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (<span class="synOperator">!</span> <span class="synOperator">[ne]</span> <span class="synDelimiter">&lt;</span><span class="synString">a a b c</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[ne] basic sanity (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (  <span class="synOperator">[lt]</span> <span class="synDelimiter">&lt;</span><span class="synString">a b c e</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[lt] basic sanity (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (<span class="synOperator">!</span> <span class="synOperator">[lt]</span> <span class="synDelimiter">&lt;</span><span class="synString">a a c e</span><span class="synDelimiter">&gt;</span>)<span class="synOperator">,</span>    <span class="synDelimiter">'</span><span class="synString">[lt] basic sanity (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
}

{
    <span class="synSpecial">my</span> (<span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$y</span>)<span class="synOperator">;</span>
    <span class="synComment">#?rakudo todo 'huh?'</span>
    ok (    <span class="synOperator">[=:=]</span>  <span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">[=:=] basic sanity 1</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (<span class="synOperator">not</span> <span class="synOperator">[=:=]</span>  <span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$y</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">[=:=] basic sanity 2</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok (    <span class="synOperator">[!=:=]</span> <span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$y</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">[!=:=] basic sanity (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    <span class="synComment">#?rakudo todo 'huh?'</span>
    ok (<span class="synOperator">not</span> <span class="synOperator">[!=:=]</span> <span class="synIdentifier">$y</span><span class="synOperator">,</span> <span class="synIdentifier">$y</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">[!=:=] basic sanity (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    <span class="synIdentifier">$y</span> <span class="synOperator">:=</span> <span class="synIdentifier">$x</span><span class="synOperator">;</span>
    <span class="synComment">#?rakudo todo 'huh?'</span>
    ok (    <span class="synOperator">[=:=]</span>  <span class="synIdentifier">$y</span><span class="synOperator">,</span> <span class="synIdentifier">$x</span><span class="synOperator">,</span> <span class="synIdentifier">$y</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">[=:=] after binding</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
}

{
    <span class="synSpecial">my</span> <span class="synIdentifier">$a</span> <span class="synOperator">=</span> [<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span>]<span class="synOperator">;</span>
    <span class="synSpecial">my</span> <span class="synIdentifier">$b</span> <span class="synOperator">=</span> [<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span>]<span class="synOperator">;</span>

    ok  (<span class="synOperator">[===]</span> <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">,</span>      <span class="synDelimiter">'</span><span class="synString">[===] with literals</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok  (<span class="synOperator">[===]</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> <span class="synIdentifier">$a</span>)<span class="synOperator">,</span>      <span class="synDelimiter">'</span><span class="synString">[===] with vars (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[===]</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> [<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span>])<span class="synOperator">,</span>  <span class="synDelimiter">'</span><span class="synString">[===] with vars (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    ok  (<span class="synOperator">[!===]</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> <span class="synIdentifier">$b</span><span class="synOperator">,</span> <span class="synIdentifier">$a</span>)<span class="synOperator">,</span>     <span class="synDelimiter">'</span><span class="synString">[!===] basic sanity (positive)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    nok (<span class="synOperator">[!===]</span> <span class="synIdentifier">$a</span><span class="synOperator">,</span> <span class="synIdentifier">$b</span><span class="synOperator">,</span> <span class="synIdentifier">$b</span>)<span class="synOperator">,</span>     <span class="synDelimiter">'</span><span class="synString">[!===] basic sanity (negative)</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
}

{
    is <span class="synOperator">~</span> (<span class="synOperator">[\&lt;]</span>  <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">1 1 1 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">&lt;] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\&lt;]</span>  <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">1 1 0 0</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">&lt;] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\&gt;]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">1 1 1 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">&gt;] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\&gt;]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">1</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">1 1 0 0</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">&gt;] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\==]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">1 1 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">==] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\==]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">4</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">1 0 0</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">==] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    <span class="synComment">#?niecza 2 todo 'this is parsed as ![=], not good'</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\!=]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">6</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">1 1 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">!=] works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is <span class="synOperator">~</span> (<span class="synOperator">[\!=]</span>  <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span><span class="synOperator">,</span> <span class="synNumber">5</span>)<span class="synOperator">.</span>map({<span class="synOperator">+</span><span class="synIdentifier">$_</span>})<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">1 1 0</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">!=] works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is (<span class="synOperator">~</span> <span class="synOperator">[\**]</span>  <span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span>)<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">3 8 1</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">**] (right assoc) works (1)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
    is (<span class="synOperator">~</span> <span class="synOperator">[\**]</span>  <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">0</span>)<span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">0 1 3</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span>   <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">**] (right assoc) works (2)</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
}

<span class="synComment"># RT #76110</span>
{
    is <span class="synOperator">~</span>(<span class="synOperator">[\+]</span> <span class="synOperator">[\+]</span> <span class="synNumber">1</span> <span class="synOperator">xx</span> <span class="synNumber">5</span>)<span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">1 3 6 10 15</span><span class="synDelimiter">'</span><span class="synOperator">,</span> <span class="synDelimiter">'</span><span class="synString">two nested [\+]</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
    <span class="synComment">#?niecza todo 'unary [] does not context yet'</span>
    is (<span class="synOperator">[+]</span> [<span class="synNumber">1</span><span class="synOperator">,</span> <span class="synNumber">2</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span>])<span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span>  <span class="synDelimiter">'</span><span class="synString">[+] does not flatten []-arrays</span><span class="synDelimiter">'</span><span class="synOperator">;</span>
}

<span class="synComment">#?niecza skip '[macro]'</span>
{
  <span class="synSpecial">my</span> <span class="synIdentifier">@array</span> <span class="synOperator">=</span> (<span class="synType">Mu</span><span class="synOperator">,</span> <span class="synType">Mu</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synType">Mu</span><span class="synOperator">,</span> <span class="synNumber">5</span>)<span class="synOperator">;</span>
  is (<span class="synOperator">[//]</span>  <span class="synIdentifier">@array</span>)<span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[//] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
  is (<span class="synOperator">[orelse]</span> <span class="synIdentifier">@array</span>)<span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[orelse] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
}

<span class="synComment">#?niecza skip '[macro]'</span>
{
  <span class="synSpecial">my</span> <span class="synIdentifier">@array</span> <span class="synOperator">=</span> (<span class="synType">Mu</span><span class="synOperator">,</span> <span class="synType">Mu</span><span class="synOperator">,</span> <span class="synNumber">0</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synType">Mu</span><span class="synOperator">,</span> <span class="synNumber">5</span>)<span class="synOperator">;</span>
  is (<span class="synOperator">[||]</span> <span class="synIdentifier">@array</span>)<span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[||] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
  is (<span class="synOperator">[or]</span> <span class="synIdentifier">@array</span>)<span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[or] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>

  <span class="synComment"># Mu as well as [//] should work too, but testing it like</span>
  <span class="synComment"># this would presumably emit warnings when we have them.</span>
  is (<span class="synOperator">~</span> <span class="synOperator">[\||]</span> <span class="synNumber">0</span><span class="synOperator">,</span> <span class="synNumber">0</span><span class="synOperator">,</span> <span class="synNumber">3</span><span class="synOperator">,</span> <span class="synNumber">4</span><span class="synOperator">,</span> <span class="synNumber">5</span>)<span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">0 0 3 3 3</span><span class="synDelimiter">&quot;</span><span class="synOperator">,</span> <span class="synDelimiter">&quot;</span><span class="synString">[</span><span class="synSpecial">\\</span><span class="synString">||] works</span><span class="synDelimiter">&quot;</span><span class="synOperator">;</span>
}

<span class="synComment"># vim: ft=perl6</span>
</pre>

 </body>
</html>
